import UIKit

// 字符串赋值
var greeting = "Hello, playground"
// 整型赋值
var count = 5
// 元组赋值
var group = (1, 2, "12")
// Bool 赋值
var bol = true

// 进行解构赋值
var (n1, n2, n3) = (1, 2, 3)
print(n1, n2, n3)  // 1, 2, 3

// 相加运算
1 + 2
// 相减运算
2 - 1
// 相乘运算
2 * 2
// 相除运算
4 / 2
// 取余运算
4 % 3

var tmp = 1
// 加赋值复合运算
tmp += 3
// 减赋值复合运算
tmp -= 3
// 乘赋值复合运算
tmp *= 3
// 除赋值复合运算
tmp /= 3
// 取余赋值复合运算
tmp %= 3

var a = 1
var b = -2
+b // -2
-a // -1

var p1 = true
var p2 = false
// 与运算 false
p1 && p2
// 或运算 true
p1 || p2
// 非运算 false
!p1

1 == 2  // 等于比较，返回 false
1 < 2   // 小于比较，返回 true
1 > 2   // 大于比较，返回 false
1 != 2  // 不等于比较，返回 true
1 <= 2  // 小于等于比较，返回 true
1 >= 2  // 大于等于比较，返回 false

var tp1 = (3, 4, "5")
var tp2 = (2, 6, "9")
var tp3 = ("1", 4, 5)
tp1 < tp2   // 将返回 false

var m = 3
var n = 6
if m > n {
    print("m > n")
} else {
    print("m <= n")
}
// 将上面的 if else 改写成三目运算符
print (m > n ? "m > n" : "m < n")

var q: Int? = 8
var value: Int
if q != nil {
    value = q!
} else {
    value = 0
}

var q1: Int? = 8
var value1: Int
value1 = (q1 != nil) ? (q1!) : 0

// 空合并运算符
var q2: Int? = 8
var value2: Int
value2 = q2 ?? 0

// 表达式关于大于 0 且 小于 10 的范围
var index = 9
index > 0 && index <= 10
